#include "OpenButtonListener.h"

//Hay que crear este listener cuando se crea la aplicaciòn

OpenButtonListener::OpenButtonListener(TextScrollBar* textScrollBar) {
	this->textScrollBar = textScrollBar;
}

void OpenButtonListener::setScrollBar(TextScrollBar* textScrollBar) {
	this->textScrollBar = textScrollBar;
}

OpenButtonListener::~OpenButtonListener() {
	this->textScrollBar = NULL;
}

void OpenButtonListener::execute() {
	std::string scenarioName = this->textScrollBar->getFocusedText();
	std::string background;

	if (scenarioName.empty()) {
		//TODO mostrar mensaje de error o algo xD
		return;
	}

	background = Persistor::getBackground(scenarioName);

	if (!FileChecker::fileExists(background)) {
			//no existe background, no abro nada
			return;
		}

	if (background.empty()) {
		//setea el background default
		background = "./res/img/escenarios/green.png";
	}

	pushEventsToOpenEditSceneWindow(scenarioName);
}


//TODO , esto no deberia estar aca...
void OpenButtonListener::pushEventsToOpenEditSceneWindow(
		std::string scenarioName) {

	//TODO usar la abstraccion de Event.
	SDL_Event event1;
	event1.type = SDL_USEREVENT;
	event1.user.code = edit;
	event1.user.data1 = new string(scenarioName);
	event1.user.data2 = 0;
	SDL_PushEvent(&event1);
}





